﻿using System;
using System.Threading.Tasks;

namespace Yyd.OrganizationUnits
{
    public interface ICurrentOrganizationUnit
    {
        Guid? Id { get; }

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        Task<IOrganizationUnit> GetSchoolAsync();

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        Task<IOrganizationUnit> GetAreaAsync();

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        Task<IOrganizationUnit> GetCompanyAsync();

        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        Task<OrganizationUnitLevel> GetOrganizationUnitLevelAsync();
    }
}
